// never 类型
// 不会有返回值
function error(message: string): never {
    throw new Error(message)
}

// function infiniteLoop(): never {
//     while(1) {
//         1
//     }
// }

type foo = string | number // 联合类型
// let a: foo = 1
// let b: foo = 'a'

function widthNever(foo: foo) {
    if(typeof foo === 'string') {
        //...
    } else if (typeof foo === 'number') {
        //...
    } else {
        const check: never = foo
    }
}

// 使用never 可以避免新增了联合类型没有对应实现，目的就是写出绝对安全的代码


